package com.java.second_goods.service;

import com.java.second_goods.entity.Chef;

import java.util.List;

/**
 * 厨师 服务层
 */
public interface ChefService {
    /**
     * 查询厨师信息
     *
     * @param id 厨师ID
     * @return 厨师信息
     */
    Chef selectChefById(Integer id);

    /**
     * 查询厨师列表
     *
     * @param chef 厨师信息
     * @return 厨师集合
     */
    List<Chef> selectChefList(Chef chef);

    /**
     * 查询热门厨师列表
     *
     * @param limit 限制数量
     * @return 厨师列表
     */
    List<Chef> selectPopularChefs(Integer limit);

    /**
     * 根据菜系ID查询厨师列表
     *
     * @param categoryId 菜系ID
     * @return 厨师列表
     */
    List<Chef> selectChefsByCategoryId(Integer categoryId);

    /**
     * 新增厨师
     *
     * @param chef 厨师信息
     * @return 结果
     */
    int insertChef(Chef chef);

    /**
     * 修改厨师
     *
     * @param chef 厨师信息
     * @return 结果
     */
    int updateChef(Chef chef);

    /**
     * 删除厨师信息
     *
     * @param id 厨师ID
     * @return 结果
     */
    int deleteChefById(Integer id);

    /**
     * 批量删除厨师信息
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    int deleteChefByIds(Integer[] ids);

    /**
     * 更新厨师评分
     *
     * @param chefId 厨师ID
     * @param rating 评分
     * @return 结果
     */
    int updateChefRating(Integer chefId, Double rating);

    /**
     * 设置厨师热门状态
     *
     * @param chefId 厨师ID
     * @param isPopular 是否热门
     * @return 结果
     */
    int setChefPopular(Integer chefId, Boolean isPopular);
}